package com.itheima.text3;

import java.math.BigDecimal;
import java.math.RoundingMode;

public class Demo3 {
    //除法运算的默认精度,默认保留10位小数
    private static final int SCALE = 10;

    private Demo3() {
    }

    //获取num1+num2的结果


    public static double add(double num1, double num2) {
        BigDecimal bd1 = new BigDecimal(String.valueOf(num1));
        BigDecimal bd2 = new BigDecimal(String.valueOf(num2));
        BigDecimal add = bd1.add(bd2);//加法运算add
        return add.doubleValue();
    }
    //获取num3-num4的结果

    public static double subtract(double num3, double num4) {
        BigDecimal bd3 = new BigDecimal(String.valueOf(num3));
        BigDecimal bd4 = new BigDecimal(String.valueOf(num4));
        BigDecimal add = bd3.subtract(bd4);//减法运算subtract
        return add.doubleValue();
    }

    //获取num5*num6的结果
    public static double multiply(double num5, double num6) {
        BigDecimal bd5 = new BigDecimal(String.valueOf(num5));
        BigDecimal bd6 = new BigDecimal(String.valueOf(num6));
        BigDecimal add = bd5.multiply(bd6);//乘法运算multiply
        return add.doubleValue();
    }

    //获取num1 * num2的结果,如果除不尽,保留10位小数,后面的部分四舍五入
    public static double divide(double num1, double num2) {
        BigDecimal bd1 = new BigDecimal(String.valueOf(num1));
        BigDecimal bd2 = new BigDecimal(String.valueOf(num2));
        BigDecimal add = bd1.divide(bd2, SCALE, RoundingMode.HALF_UP);
        return add.doubleValue();
    }
}
